package com.wlyuan.open.scanner.domain.address;

import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author lijing
 * @description
 */
@Data
public class Address implements Serializable {

    private static final long serialVersionUID = 8847643292113876683L;
    @ApiModelProperty("id")
    private Long id;

    @ApiModelProperty(value = "站点名称")
    private String name;

    private String addressCode;

    @ApiModelProperty(value = "联系人")
    private String contactName = "";

    @ApiModelProperty(value = "联系电话")
    private String contactMobile = "";

    @ApiModelProperty(value = "邮箱")
    @JSONField(alternateNames = "email")
    private String contactEmail;

    @ApiModelProperty(value = "省份")
    private String province;

    @ApiModelProperty(value = "市")
    private String city;

    @ApiModelProperty(value = "区")
    private String district;

    @ApiModelProperty(value = "省编码")
    private String provinceCode;

    @ApiModelProperty(value = "市编码")
    private String cityCode;

    @ApiModelProperty(value = "区编码")
    private String districtCode;

    @ApiModelProperty(value = "经纬度")
    private String lat;

    @ApiModelProperty(value = "经纬度")
    private String lon;

    @ApiModelProperty(value = "详细地址")
    private String address;

    @ApiModelProperty("客户ID")
    private Long customerId;
    @ApiModelProperty("1 收货地址 2 发货地址 3 供应商常用地址")
    private Integer type;
    @ApiModelProperty("承运方主键")
    private Long supplierId;
    @ApiModelProperty("线下承运方主键")
    private Long symbolId;

    @ApiModelProperty("创建人")
    private Long creatorAt;

    @ApiModelProperty("创建时间 ")
    private LocalDateTime createTime;

    @ApiModelProperty("最新修改人")
    private Long updaterAt;

    @ApiModelProperty("最新修改时间")
    private LocalDateTime updateTime;

    @ApiModelProperty("是否失效 0 否 1 失效")
    private Integer invalid;

    @ApiModelProperty("备注")
    private String comments;
    @ApiModelProperty("坐标")
    private String location;
    @ApiModelProperty("版本号")
    private Long version;
    @ApiModelProperty("坐标类型 0 大概坐标 1 精确坐标")
    private Integer locationType;

    @ApiModelProperty("描述")
    private String description;
    @ApiModelProperty("异常状态（0 无异常 1 异常（客户未提交正确定位） 2 异常（客户提交正确定位））")
    private Long status;
    @ApiModelProperty("用户重定位坐标")
    private String reorientation;
    @ApiModelProperty("地址错误提交人 ")
    private Long errorUpdate;

    private Integer optStatus;

    private Integer isDefault;

}
